--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Commit 97e71347af6d36b2ddd04e8862a762241d809ab7
Parents : 848325d
Author : Ivan <ivan@quad4.io>
Signature : Signature validation error
Date : 2026-04-25T17:59:19-05:00
chore(docs): update
Changes
Diff
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 267d2e79..5197d01e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,8 @@ All notable changes to this project will be documented in this file.
- **File downloads**: When you save or export things (including from archives), filenames are **cleaned up** so odd characters are less likely to break saves, and you get **clearer feedback** when a download wraps up.
- **NomadNet favourites**: You can **import and export** your NomadNet favourites list so you are not stuck re-building it by hand on a new device; **contact sharing** wording is clearer across several languages.
+- **RNGit Explorer**: New in-app explorer for **RNGit**
+- **Android**: **Foreground sync** with notifications, **WebSocket** bridge hooks, **calls** and richer **audio** (including native attachments), plus **Lint** in CI and toolchain updates.
### Downloads, archives, and frontend utilities
@@ -18,13 +20,41 @@ All notable changes to this project will be documented in this file.
### NomadNet and locales
- **Favourites**: **Import/export** for NomadNet favourites from the app.
-- **Locales**: **Contact sharing** options and related strings refreshed across supported languages.
+- **Locales**: **Contact sharing** options and related strings refreshed across supported languages; **RNGit Explorer** strings added; **localization tables** aligned for consistency.
+
+### RNGit Explorer
+
+- **Backend**: **`rngit_tool`** introduces the RNGit explorer capability.
+- **Frontend**: **RNGit Explorer** page and **sidebar** / navigation integration.
+- **Tests**: Coverage for **server behaviour** and **frequency conversion** paths used by the tool.
### Android
- **Gradle**: **Product flavors** removed; **Python sync** task simplified to match the single packaging path.
- **Paths**: **Taskfile** and CI workflows updated for the new **APK** / Python directory layout.
- **Docs**: Android README sections updated so they no longer talk about removed flavors.
+- **Sync and notifications**: **Foreground service** for message synchronization with user-facing **notification** copy; **WebSocket** integration in **`meshchat_wrapper`** and an **Android push bridge** so the UI can react to backend events.
+- **Reliability**: **Server loop control** and clearer **error handling** around the notification bridge.
+- **Calls and media**: **Call handling**, **notification channels**, **permissions** and **shortcuts**; **native audio attachment** support and improved **message routing** and in-app **audio** navigation.
+- **Toolchain**: **Gradle** plugin and **SDK** bumps, dependency refresh, and **Lint** configuration.
+- **CI**: **Android Lint** runs in the workflow with **report artifacts** uploaded for review.
+
+### MeshChat UI, conversations, and microphone
+
+- **Conversations**: **UUID**-based pending message hashing and **viewport resize** handling updates.
+- **Layout**: Responsive **height** class tweaks on **`App.vue`** and **`AuthPage.vue`**.
+- **Microphone**: **`microphoneRecorder`** can capture via **AudioWorklet** or **ScriptProcessor** for better **performance** and **compatibility** across environments.
+
+### Reticulum config, discovery, and display
+
+- **Interface editor**: **`coerce_rnode_frequency_hz`** normalizes frequency values written into Reticulum config.
+- **Discovery helpers**: **`parseRNodeFrequencyHz`** interprets frequency fields from API-style payloads.
+- **Formatting**: **`formatFrequency`** in **`Utils`** rejects or handles **non-finite** values safely instead of producing garbage output.
+
+### Version source and sync scripts
+
+- **Single source of truth**: Runtime **version** is read from **`src/version.py`**, which is kept in lockstep with root **`package.json`** (including **`__init__.py`** where applicable).
+- **`version:sync`**: Script updates **multiple files** in one pass; follow-up fixes keep **README** version lines in translated docs **consistent** and easier to maintain.
### Repository server and bundled wheels
@@ -36,17 +66,17 @@ All notable changes to this project will be documented in this file.
- **Workflow hygiene**: **Flatpak** CI cleaned up; deprecated **Snap** build scripts removed from the tree.
- **Caching**: **Node.js** and **Poetry** caches added where workflows install tooling.
- **Docker publish**: Workflow gains **Docker Hub** integration, **tag generation**, and a **login** fix so credential detection output is used consistently.
-- **Android release**: Workflow updates for **tag handling**, **signing secret** detection, and **APK upload** behaviour.
+- **Android release**: Workflow updates for **tag handling**, **signing secret** detection, **APK upload** behaviour, and **Lint** (see Android section for product impact).
- **Benchmarks**: **Taskfile** default **benchmark** task and workflow trigger alignment.
- **Draft releases**: Script sets **`GH_REPO`** from **`GITHUB_REPOSITORY`** when unset.
- **Trivy**: Install script gains **upstream verification** and **cosign** integration.
- **pip-audit**: **`CVE-2026-3219`** ignored temporarily with a documented rationale until an upstream fix lands.
-- **Tests**: Minor **formatting** tidy-ups in the test tree; **`test_app_status_tracking`** uses **`4.6.0`** as the example **`changelog_seen_version`** stamp so it tracks the release.
+- **Tests**: Minor **formatting** tidy-ups in the test tree; **`test_app_status_tracking`** uses **`4.6.0`** as the example **`changelog_seen_version`** stamp so it tracks the release; added coverage for **`android_push_bridge`**, **`meshchat_wrapper`**, and **`rngit_tool`** (including wrapper server loops and frequency conversion).
### Docker, compose, and documentation
- **Dockerfile**: Optional **reproducible native build** target wiring; **OCI**-style metadata and **image source** hints refined; **`docker-compose.yml`** image source updated.
-- **Docs**: **README** and translated READMEs add **Docker Hub** / **GHCR** guidance; **official GitHub mirror** links refreshed; **GitHub Actions** references replace Gitea-era wording; **security policy** and **SECURITY** formatting polish; **Raspberry Pi** install examples use **`bash`** fences consistently.
+- **Docs**: **README** and translated READMEs add **Docker Hub** / **GHCR** guidance and **copy-paste `docker run` examples** where helpful; **official GitHub mirror** links refreshed; **GitHub Actions** references replace Gitea-era wording; **security policy** and **SECURITY** formatting polish; **Raspberry Pi** install examples use **`bash`** fences consistently.
## [4.5.1] - 2026-04-24
diff --git a/README.md b/README.md
index fb50f482..7ef71b07 100644
--- a/README.md
+++ b/README.md
@@ -13,6 +13,7 @@ This project is independent from the original Reticulum MeshChat project and is
- Changelog: [`CHANGELOG.md`](CHANGELOG.md)
rngit: `git clone rns://926baefe13daf5178c174f158dae1b45/quad4/MeshChatX`
+
NomadNet Node: `c10d80b1a42fa958c37a6cc30dc04f53:/page/index.mu`
## Important Changes from Reticulum MeshChat
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────